﻿#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
//一元谓词
//仿函数的返回类型是bool数据类型，称为谓词
class GreaterFive
{
public:
	bool operator()(int val)
	{
		return val>5;
	}
};
void test01()
{
	vector<int>v;
	for (int i = 0; i < 10; i++)
	{
		v.push_back(i + 1);
	}
	//查找容器中有没有大于5的数字
	vector<int>::iterator it=find_if(v.begin(), v.end(), GreaterFive()); //GreaterFive()是匿名的函数对象
	//找到了会返回这个元素的迭代器的位置，找不到就会返回v.end
	if (it == v.end())
	{
		cout << "未找到" << endl;
	}
	else
	{
		cout << "找到了，为：" << endl;
		cout << *it << endl;
	}
}
int main()
{
	test01();
}